package com.wuxinwudai.android.util;

import android.content.Context;
import android.os.Handler;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

/**
 * IMEUtils 类提供 IME 启动和关闭功能
 * @author 吾心无待 于 2015年11月27日
 */
public class IMEUtils {
    /**
     * 打开 IME
     * @param editText 输入框
     */
    public static void openIME(final EditText editText) {
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                InputMethodManager inputMethodManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                inputMethodManager.showSoftInput(editText, 0);
            }
        }, 150);
    }

    /**
     * 强制打开 IME
     * @param context s上下文对象
     */
    public static void openIME(final Context context){
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                // 获得输入法管理器
                InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
                // 强制启动输入法
                inputMethodManager.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
            }
        },150);
    }

    /**
     * 关闭 IME
     * @param editText 输入框
     */
    public static void closeIME(EditText editText) {
        InputMethodManager inputMethodManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(), 0);
    }
}
